"""
@name : 曹家伟
@author : wenyao
@projectname: 空气质量.py
"""
import random
import sys, time

#歌手库和曲库
singers = ["邓紫棋","Alan Walker","The Chainsmoker","五月天"]
songs = ["All Falls Down","光年之外","孙悟空","Closer"]

while True:

    # 界面
    print("\033[35m\033[0m欢迎使用南风之音播放系统!\033[35m\033[0m")
    switch1 = input("按 \033[31mQ\033[0m 退出\n按 \033[31mR\033[0m 向歌手库和曲库中分别添加歌手和歌曲\n按 \033[31m其他任意键 \033[0m开始播放歌曲")

    if switch1 == "Q":
        break
    elif switch1 == "R":

        while True:
            switch2 = input("\n欢迎进入添加程序！\n退出该界面请按 \033[31mQ\033[0m ,继续添加歌手和歌曲按 \033[31mC\033[0m \nTip:\033[31m单次输入只能添加一名歌手或者一首歌曲\033[0m")

            if switch2 == "Q":
                break
            elif switch2 == "C":

                sgr = (input("请输入你要添加的歌手的名字："))
                sg = (input("请输入你要添加的歌曲的名字："))

                if not sgr.strip() or not sg.strip():
                    print("\033[31m输入不能为空，请重新输入！\033[0m")
                else:
                    singers.append(sgr)
                    songs.append(sg)
            else:
                print("\033[31m请给出规范的操作指令！\033[0m")

    else:

        if songs:
            #统计两个库分别的元素个数
            a = len(singers)
            b = len(songs)

            # 随机数存储器
            c = random.randint(0,a-1)
            d = random.randint(0,b-1)

            print(f"\n接下来请欣赏由歌手 {singers[c]} 带来的歌曲 {songs[d]} ")

            #动态播放界面
            print(f"正在播放歌曲 {songs[d]}")
            for i in range(11):
                if i != 10:
                    sys.stdout.write("\033[32m==")
                else:
                    sys.stdout.write("== \033[0m" + str(i * 10) + "%/100%")
                    #print()
                sys.stdout.flush()  #还没理解
                time.sleep(0.3)
            print("\n" + "播放完毕！\n")

            #出现过的就可以去除了
            singers.pop(c)
            songs.pop(d)

        else:
            print("\n\033[31m歌手库和曲库里已经没有库存了,请在下一界面选择进入添加程序！\033[0m\n")
            continue


print("您已退出南风之音播放系统！")
